package com.example.martian.huobi.client;

import com.example.martian.huobi.client.req.wallet.*;
import com.example.martian.huobi.model.wallet.DepositAddress;
import com.example.martian.huobi.model.wallet.DepositWithdraw;
import com.example.martian.huobi.model.wallet.WithdrawAddressResult;
import com.example.martian.huobi.model.wallet.WithdrawQuota;

import java.util.List;

public interface WalletClient {

  List<DepositAddress> getDepositAddress(DepositAddressRequest request);

  WithdrawQuota getWithdrawQuota(WithdrawQuotaRequest request);

  WithdrawAddressResult getWithdrawAddress(WithdrawAddressRequest request);

  Long createWithdraw(CreateWithdrawRequest request);

  Long cancelWithdraw(Long withdrawId);

  List<DepositWithdraw> getDepositWithdraw(DepositWithdrawRequest request);

}
